In communication systems, particularly in systems where transmitting or receiving nodes are substantially mobile, or in systems where propagation paths may vary, packetized data dispatched from a transmitting node may arrive at a receiving node during a broad anticipated timing window. In strictly non-interactive data applications, such as a datagram service or bulk data mail system, such variations in arrival time suffice as delivery may simply be postponed while all data packets are regrouped.
In traditional interactive packetized communication systems, such as terrestrial systems, users are unaware of postponed delivery of staggered packets since such delays are on the order of milliseconds or tens of milliseconds. However, in packetized systems where propagation delays are substantially larger, such as in a satellite network, anticipated timing windows may be much broader and postponement of delivery may result in delays on the order of tens or hundreds of milliseconds. For non-interactive systems, such a delay again is generally tolerable.
However, in an interactive packetized voice communication system, delays of tens or hundreds of milliseconds in addition to inherent propagation times are very undesirable. For interactive voice systems, delays of several hundred milliseconds becomes annoying to users and commercially less practical.
Additionally, in dynamic communication systems where propagation paths are not static, such as in orbiting satellite communication systems, propagation path delays vary as relay nodes evolve. Orbiting satellites, for example, introduce propagation delay variations between transmission of individual packets. Such variations introduce what appears to a receiving node to be packet "jitter." A receiving node must then process these packets by aligning them up end to end and minimize gaps between packets. Traditional terrestrial or non-interactive systems have simply estimated a maximum propagation delay and postponed delivery or annunciation of packetized data until well past the maximum delay.
Additionally, in complex multi-relay packetized systems, packets may be lost or dropped. A receiving node in an interactive system must substitute or predict appropriate values to compensate for such losses. In a packetized voice communication system, if packetized data represents a small portion of voice data, then a receiving node may sufficiently approximate or predict relatively small portions of voice data.
Accordingly, there is a significant need for a method and system for compensating for propagation time variations in a packetized voice communication system while providing for minimum delay in the presentation of voice data to a user.
Also, there is a significant need for a method and system for substituting for lost packets in a packetized voice communication system while presenting any lost or late packets to a user with minimum delay.